	function SequenciaExercicio(elemento) {
		
    	this.container;
    	this.elemento = elemento;
    	
    	this.criar = function () {
    		this.container = $('<div/>').addClass('container-fluid span11');
    		var head = $('<div/>').addClass('row-fluid span12 exercicio_head');
    		var headSeq = $('<div/>').addClass('span1 text-center').html('Seq');
    		var headExe = $('<div/>').addClass('span3 text-center').html('Exerc&iacute;cio');
    		var headSer = $('<div/>').addClass('span2 text-center').html('S&eacute;rie');
    		var headRep = $('<div/>').addClass('span2 text-center').html('Rep');
    		var headDes = $('<div/>').addClass('span2 text-center').html('Desc');
    		var headAca = $('<div/>').addClass('span2 text-center');
    		
    		//indica a quantidade de execicios
    		var inputQt = $('<input/>').attr({
   				type: 'hidden',
   				name: 'quantidadeExercicio',
   				id: 'quantidadeExercicio',
   				value: 0,
   			})
    		
    		
    		$(head).append(headSeq);
    		$(head).append(headExe);
    		$(head).append(headSer);
    		$(head).append(headRep);
    		$(head).append(headDes);
    		$(head).append(headAca);
    		$(head).append(inputQt);
    		
    		$(this.container).append(head);
    		$(this.elemento).append(this.container);
    	}
    	
    	this.add = function (exercicio) {
    		var sequencia = $('div[class*=" exercicio "]').length;
    		$('#quantidadeExercicio').val(sequencia+1);
    		
    		var linha = $('<div/>').addClass('row-fluid span12 exercicio gp'+exercicio.grupoMuscular.id);
    		var colunaSeq = $('<div/>').addClass('span1 text-center exercicio_sequencia').html((sequencia+1) +'&ordm;');
    		var colunaExe = $('<div/>').addClass('span3 text-right').text(exercicio.nome);

    			var inputExe = $('<input/>').attr({
	   				type: 'hidden',
	   				name: 'exercicio_'+ sequencia,
	   				value: exercicio.id
	   			})
	   
			$(colunaExe).append(inputExe);

	   		var colunaSer = $('<div/>').addClass('span2 text-center');
	   			var inputSer = $('<input/>').attr({
	   				type: 'text',
	   				name: 'serie'+ exercicio.id,
	   				'class': 'span7'
	   			})
			$(colunaSer).append(inputSer);
    		
    		var colunaRep = $('<div/>').addClass('span2 text-center');
    			var inputRep = $('<input/>').attr({
    				type: 'text',
    				name: 'repeticao'+ exercicio.id,
    				'class': 'span7'
    			})
			$(colunaRep).append(inputRep);
    			
   			var colunaDesc = $('<div/>').addClass('span2 text-center');
   			var inputDesc = $('<input/>').attr({
   				type: 'text',
   				name: 'descanso'+ exercicio.id,
   				'class': 'span7'
   			})
			$(colunaDesc).append(inputDesc);

    		var colunaAca = $('<div/>').addClass('span2 text-center');
    		
	    		var conteinerAcao = $('<div/>').addClass('exercicio_acao');
	    		
		    		var acaoUp = $('<span/>').addClass('icon-chevron-up').click(function() {
		    			var pai = $(this).parent().parent().parent();
						var anterior = $(pai).prev();
		    			
		    			if ($(anterior).attr('class').indexOf(' exercicio ') > -1) {
		    				var clone = $(pai).clone(true);
			    			$(clone).insertBefore(anterior);
			    			$(pai).remove();
			    			
			    			var seq = $(clone).find('input[name^="exercicio_"]').eq(0).attr("name");
			    			seq = parseInt(seq.substring(seq.indexOf("_") +1));
			    			
			    			$(clone).find('.exercicio_sequencia').eq(0).html(seq +"&ordm;");
			    			$(clone).find('input[name^="exercicio_"]').eq(0).attr("name", "exercicio_"+ (seq-1));
			    			$(anterior).find('.exercicio_sequencia').eq(0).html(seq+1 +"&ordm;");
			    			$(anterior).find('input[name^="exercicio_"]').eq(0).attr("name", "exercicio_"+ seq);
		    			}
		    		});
		    		
		    		
		    		var acaoDown = $('<span/>').addClass('icon-chevron-down').click(function () {
		    			var pai = $(this).parent().parent().parent();
		    			var posterior = $(pai).next();
		    			
		    			if ($(posterior).attr('class').indexOf(' exercicio ') > -1) {
		    				var clone = $(pai).clone(true);
			    			$(clone).insertAfter(posterior);
			    			$(pai).remove();
			    			
//			    			var seq = parseInt($(clone).find('input[name^="ordem"]').eq(0).val());
//			    			$(clone).find('.exercicio_sequencia').eq(0).html(seq+2 +"&ordm;");
//			    			$(clone).find('input[name^="ordem"]').eq(0).val(seq+1);
//			    			$(posterior).find('.exercicio_sequencia').eq(0).html(seq+1 +"&ordm;");
//			    			$(posterior).find('input[name^="ordem"]').eq(0).val(seq);
			    			
			    			
			    			var seq = $(clone).find('input[name^="exercicio_"]').eq(0).attr("name");
			    			seq = parseInt(seq.substring(seq.indexOf("_") +1));
			    			
			    			$(clone).find('.exercicio_sequencia').eq(0).html(seq+2 +"&ordm;");
			    			$(clone).find('input[name^="exercicio_"]').eq(0).attr("name", "exercicio_"+ (seq+1));
			    			$(posterior).find('.exercicio_sequencia').eq(0).html(seq+1 +"&ordm;");
			    			$(posterior).find('input[name^="exercicio_"]').eq(0).attr("name", "exercicio_"+ seq);
		    			}

		    		});
		    		
		    		
		    		var acaoRemove = $('<span/>').addClass('icon-remove').click(function () {
		    			var pai = $(this).parent().parent().parent();
		    			var posterior = $(pai).next();
		    			
		    			var seq = $(pai).find('input[name^="exercicio_"]').eq(0).attr("name");
		    			seq = parseInt(seq.substring(seq.indexOf("_") +1));
		    			
		    			do {
		    				if ($(posterior).attr('class') && $(posterior).attr('class').indexOf(' exercicio ') > -1) {
		    					$(posterior).find('.exercicio_sequencia').eq(0).html(seq+1 +"&ordm;");
				    			//$(posterior).find('input[name^="ordem"]').eq(0).val(seq);
				    			$(posterior).find('input[name^="exercicio_"]').eq(0).attr("name", "exercicio_"+ seq);
				    			seq++;
				    			posterior = $(posterior).next();
		    				}
		    			} while ($(posterior).attr('class'));
		    			
		    			$(pai).remove();
		        		$('#quantidadeExercicio').val($('div[class*=" exercicio "]').length);
		    			
		    		});
	    		

		    		$(conteinerAcao).append(acaoUp);
		    		$(conteinerAcao).append(acaoDown);
		    		$(conteinerAcao).append(acaoRemove);
    		
	    		$(colunaAca).append(conteinerAcao);
    		
    		$(linha).append(colunaSeq);
    		$(linha).append(colunaExe);
    		$(linha).append(colunaSer);
    		$(linha).append(colunaRep);
    		$(linha).append(colunaDesc);
    		$(linha).append(colunaAca);
    		
    		$(this.container).append(linha);
    	} 
    }
	
    $('#exercicio').autocomplete({
		source: function( request, response ) {
			$.ajax({
				url: '/exercicio/listarJson/'+ request.term,
				dataType: "json",
//				data: {name_startsWith: request.term},
				success: function( data ) {
					response( $.map(data, function(item) {
						return {
							label: item.exercicio.grupoMuscular.nome +' / '+ item.exercicio.nome,
							value: item.exercicio.grupoMuscular.nome,
							item: item
						}
					}));
				}
			});
		},
		minLength: 3,
		select: function(event, ui) {
			//alert(ui.item.item.exercicio.nome);
			seq.add(ui.item.item.exercicio);
		}
	});
